package javaer.starter.core;

import javaer.starter.core.metadata.PomXml;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;

import java.io.Serializable;
import java.nio.file.Path;
import java.util.List;

/**
 * @author yangzhen
 * @date 2023/6/5 15:03
 * @since 1.0.0
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class BuildContext implements Serializable {

    /**
     * 隔离标志，用于多用户同时操作引起问题
     */
    String isolateSymbol;
    /**
     * 是否单模块应用
     */
    boolean isSingle = false;
    /**
     * 脚手架唯一标识
     */
    String typeId;
    /**
     * 脚手架唯一标识小写
     */
    String typeName;
    /**
     * 项目名称
     */
    String projectName;
    /**
     *
     */
    PomXml parentModule;
    /**
     *
     */
    PomXml starterModule;
    /**
     *
     */
    List<PomXml> childModules;

    Path projectPath;

    Path templatePath;
}
